In motion-compensation methods, previously decoded frame data (called reference data) is required while decoding the current frame. Since on-chip memory is a precious resource, even for moderate size frames it is required to store reference (previously decoded) frames in the external memory. When required by motion compensation methods this data needs to be fetched from external memory and this leads to additional bandwidth requirement on the interface. The data to be referenced by adjacent regions can have some overlap and if by having some extra on-chip memory this overlap can be exploited then it reduces some bandwidth at the expense of some on-chip memory. For higher frame sizes the bandwidth overhead can be prohibitive and it necessitates having a significant on-chip memory for the reference frames. A method, called Dynamic MV-Analysis, which defines a reference-data fetch strategy is proposed. This method dynamically achieves a balance between external memory interface bandwidth requirement and on-chip memory requirement thus leading to significant savings by exploiting data overlaps and reducing redundant loads.
While referencing data from pervious frames multiple scenarios can be there. A few of these are:                Current data blocks referencing overlapping data from previous frames as is the case in low motion frames.        Current data blocks referencing non-overlapping (reference regions far apart) regions. This will be the case in high motion frames with large motion vectors.        Current data blocks referencing regions from multiple reference frames.        
Each of the above scenarios will have a different fetch strategy to meet the bandwidth and the on-chip memory constraints. E.g in the first scenario it will be beneficial to fetch one big region that contains all the data for current blocks to be processed. However, in the second scenario it will lead to the fetch of a much bigger region than required and lead to high bandwidth and storage requirement.
The basic idea of ‘Dynamic MV-Analysis’ is to exploit overlaps in the data to be fetched and also reduce the redundant data to be fetched. This is achieved by adapting the fetch strategy according to the data characteristics by analyzing the motion vectors for a given region. A recursive analysis of fetch strategy is introduced to make the method more robust in case of out-lier motion vectors (a few motion vectors being very different from others in the set). The method also takes care of scenarios where the data is to be fetched from multiple reference frames. Size of the region being worked upon is changed dynamically, based on results of motion vector analysis, to efficiently utilize the available on-chip memory.